pub mod base;
pub mod memory;

use serde::Deserialize;

pub use base::ChatLLM;
pub use memory::ChatMemoryLLM;

#[derive(Deserialize, Debug)]
pub struct ChatLLMConfig {
    pub model: String,
    pub base_url: String,
    pub api_key: String,

    #[serde(default)]
    pub max_tokens: Option<usize>,
    
    #[serde(default)]
    pub stream: Option<bool>,

    #[serde(default)]
    pub temperature: Option<f32>,
}